xen/xsplice: Hypervisor implementation of XEN_XSPLICE_op
authorKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Sat, 9 Apr 2016 00:19:34 +0000 (20:19 -0400)
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Fri, 29 Apr 2016 07:58:00 +0000 (03:58 -0400)
commit11ff40fa7bb5fdcc69a58d0fec49c904ffca4793
tree9984adae365989a00d76c4fbf6972aaa88c81cd1
parentf4a6509bbf60a9ee9981195f4672e02e48298e60
xen/xsplice: Hypervisor implementation of XEN_XSPLICE_op

The implementation does not actually do any patching.

It just adds the framework for doing the hypercalls,
keeping track of ELF payloads, and the basic operations:
 - query which payloads exist,
 - query for specific payloads,
 - check*1, apply*1, replace*1, and unload payloads.

*1: Which of course in this patch are nops.

The functionality is disabled on ARM until all arch
components are implemented.

Also by default it is disabled until the implementation
is in place.

We also use recursive spinlocks to so that the find_payload
function does not need to have a 'lock' and 'non-lock' variant.

Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
Acked-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Release-acked-by: Wei Liu <wei.liu2@citrix.com>
tools/flask/policy/policy/modules/xen/xen.te
xen/common/Kconfig
xen/common/Makefile
xen/common/sysctl.c
xen/common/xsplice.c [new file with mode: 0644]
xen/include/public/sysctl.h
xen/include/xen/xsplice.h [new file with mode: 0644]
xen/xsm/flask/hooks.c
xen/xsm/flask/policy/access_vectors